package com.bt7274.service;

import com.bt7274.pojo.Post;
import com.bt7274.pojo.bo.PostBO;
import com.bt7274.pojo.bo.PostListBO;
import com.bt7274.pojo.vo.PostDetailVO;
import com.bt7274.pojo.vo.PostListVO;


import java.io.IOException;
import java.util.List;

public interface PostService {
    Post selectPostById(String id);

    List<PostListVO> selectPostList(PostListBO postBO) throws IOException;


    int deletePostById(String id);

    int deletePostByIds(String[] ids);


    void createPost(PostBO postBO,String imageUrl) throws IOException;

    void updatePost(PostBO postBO) throws IOException;

    PostDetailVO getPostDetail(String id, int page, int pageSize);

    long countPostList(PostListBO postListBO) throws IOException;


    long countSomeOnePosts(String userId, int page, int pageSize);

    List<PostListVO> getSomeOnePosts(String userId, int page, int pageSize);

    void reportPost(String postId, String reason);

    List<PostListVO> selectPinnedPostList(String forumId);

    void lockPost(Post post);
}
